import User from "../../../utils/user"
import msg from "../../../utils/msg"
import { bindAdmin, login } from "../../../utils/request/api"
var user = new User;
// pages/user/login/login.ts
Page({

    /**
     * 页面的初始数据
     */
    data: {
        canIUse: wx.canIUse('button.open-type.getUserInfo'),
        adminInfo:{
          name:'' as string,
          code:'' as string,
        },
        show:false,
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad() {

    },
    Login(){
        wx.login({
            success (res) {
              if (res.code) {
                //发起网络请求
                msg.Loading('登陆中');
                user.Login(res.code).then(()=>{
                  msg.hideLoading();
                  wx.navigateBack();
                  msg.show('登陆成功','');
                })
              } else {
                console.log('登录失败！' + res.errMsg)
              }
            }
          })
    },
    //绑定管理员账号
    bindAdmin(){
      this.setData({
        show:true,
      })
    },
    bindAdminSubmit(){
      let self=this;
      let adminInfo=this.data.adminInfo;
      if(adminInfo.code=='' || adminInfo.name==''){
        msg.show('请填写完整信息','');
        return;
      };
      wx.login({
        success (res) {
          if (res.code) {
            //发起网络请求
            msg.Loading('绑定中');
            bindAdmin({name:adminInfo.name,code:adminInfo.code,wx_code:res.code})
            .then(async (res:any)=>{
              msg.hideLoading();
              switch(res.data.code){
                case '200':
                  await msg.show('绑定成功！','接下来请通过一键登录进行登陆');break;
                case '201':
                  await msg.show('已经绑定过了','请直接登陆');break;
                case '501':
                  await msg.show('您已经绑定了学号为:'+res.data.data.code+'的管理员账号','更多处理请联系后台管理员');break;
                case '502':
                  await msg.show('未找到此管理员账号','若有问题请联系后台管理员处理');break;
                case '503':
                  await msg.show('学号为:'+adminInfo.code+'的管理员账号已经被绑定了','更多处理请联系后台管理员');break;
              }
            });
            self.setData({
              show:false,
            })
          } else {
            console.log('绑定失败！' + res.errMsg)
          }
        }
      })
      
    },
    getInput(e:any){
      let index:string = e.currentTarget.dataset.index;
      let adminInfo=this.data.adminInfo;
      if(index=='name')
      adminInfo.name=e.detail.value;
      if(index=='code')
      adminInfo.code=e.detail.value;
      this.setData({
        adminInfo:adminInfo,
      })
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})